package day09;

/**
 * Created by Administrator on 2017/1/8.
 */
public class Test06 {
    public static void main(String[] args) {
        TreeNode node1 = new TreeNode(0);
        TreeNode node2 = new TreeNode(1);
        TreeNode node3 = new TreeNode(2);
        TreeNode node4 = new TreeNode(3);
        TreeNode node5 = new TreeNode(4);
        TreeNode node6 = new TreeNode(5);
        TreeNode node7 = new TreeNode(6);
        TreeNode node8 = new TreeNode(7);
        TreeNode node9 = new TreeNode(8);
        TreeNode node10 = new TreeNode(9);
        TreeNode node11 = new TreeNode(10);
        TreeNode node12 = new TreeNode(11);
        TreeNode node13 = new TreeNode(12);

        node1.left = node2;
        node1.right = node3;
        node2.left = node4;
        node2.right = node5;
        node3.left = node6;
        node3.right = node7;
        node4.left = node8;
        node4.right = node9;
        node5.left = node10;
        node5.right = node11;
        node6.left = node12;
        node6.right = node13;
        System.out.println(TreeDepth(node1));
    }

    public static int TreeDepth(TreeNode root) {
        int count = 0;
        return TreeDepth(root, count);
    }

    private static int TreeDepth(TreeNode root, int count) {
        int sum = 0;
        if (root == null) {
            return count;
        } else {
            count++;
            int count1 = TreeDepth(root.left, count);
            if (sum < count1) {
                sum = count1;
            }
            int count2 = TreeDepth(root.right, count);
            if (sum < count2) {
                sum = count2;
            }
        }
        return sum;
    }
}
